package com.fulihui.information.api;

import com.fulihui.information.dto.InfoContentCommentsDTO;
import com.fulihui.information.dto.InfoContentCommentsReplyDTO;
import com.fulihui.information.request.*;
import org.near.servicesupport.result.BaseResult;
import org.near.servicesupport.result.TPageResult;
import org.near.servicesupport.result.TSingleResult;

/**
 * Created by LM on 2017/4/9.
 */
public interface ContentCommentsReplyService {

    /**
     * 创建评论
     * @param request {@link ContentCommentsCreateRequest}
     * @return
     */
    TSingleResult<String> createComments(ContentCommentsReplyCreateRequest request);

    /**
     * 修改评论
     * @param request {@link ContentCommentsUpdateRequest}
     * @return
     */
    BaseResult updateComments(ContentCommentsReplyUpdateRequest request);

    /**
     * 分页查询评论
     * @param request {@link ContentCommentsQueryRequest}
     * @return {@link InfoContentCommentsDTO}
     */
    TPageResult<InfoContentCommentsReplyDTO> queryPage(ContentCommentsReplyQueryRequest request);

    /**
     * 删除评论回复
     * @param request {@link ContentCommentsReplyRequest}
     * @return
     */
    BaseResult removeCommentsReply(ContentCommentsReplyRequest request);

    /**
     * 根据主键查询评论回复
     * @param request {@link ContentCommentsReplyRequest}
     * @return {@link InfoContentCommentsReplyDTO}
     */
    TSingleResult<InfoContentCommentsReplyDTO> queryByPK(ContentCommentsReplyRequest request);

    /**
     * 分页查询评论(开关控制)
     * @param request {@link ContentCommentsQueryRequest}
     * @return {@link InfoContentCommentsDTO}
     */
    TPageResult<InfoContentCommentsReplyDTO> queryPageExt(ContentCommentsReplyQueryRequest request);

    /**
     * 分页查询用户的评论回复
     * @param request
     * @return
     */
    TPageResult<InfoContentCommentsReplyDTO> queryPageUserCommentsReply(ContentCommentsReplyQueryRequest request);

}
